/**  
* @Title: CrShopGoodsService.java
* @Package com.lemon.service.cityRun
* @Description: (一句话阐述):
* @author Ran_cc
* @date 2018年10月23日
* @version V1.0  
*/
package com.lemon.service.cityRun;

import java.util.List;
import java.util.Map;

import com.lemon.model.cityRun.CrShopGoods;
import com.lemon.model.cityRun.CrShopGoodsSpec;
import com.lemon.model.cityRun.CrShopGoodsType;

/**
 * <p>Title: CrShopGoodsService</p>
 * <p>Description: 
 * </p>
 * <p>Company: </p>
 * @author Ran_cc
 * @date 2018年10月23日
 * @版本 V 1.0 
 */
public interface CrShopGoodsService {

	/**
	 * <b>Description:<blockquote> 查询分类列表
	 * </blockquote></b>
	 * 
	 * @Title: selectTypeListBySelective
	 * @param gt
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月23日
	 */
	List<CrShopGoodsType> selectTypeListBySelective(CrShopGoodsType gt) throws Exception;

	/**
	 * <b>Description:<blockquote> 添加商品分类
	 * </blockquote></b>
	 * 
	 * @Title: insertTypeBySelective
	 * @param gt
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月23日
	 */
	int insertTypeBySelective(CrShopGoodsType gt) throws Exception;

	/**
	 * <b>Description:<blockquote> 修改商品分类
	 * </blockquote></b>
	 * 
	 * @Title: updateTypeBySelective
	 * @param gt
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月23日
	 */
	int updateTypeBySelective(CrShopGoodsType gt) throws Exception;

	/**
	 * <b>Description:<blockquote> 查询商品列表
	 * </blockquote></b>
	 * 
	 * @Title: selectListBySelective
	 * @param go
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月23日
	 */
	List<CrShopGoods> selectListBySelective(CrShopGoods go) throws Exception;

	/**
	 * <b>Description:<blockquote> t添加商品
	 * </blockquote></b>
	 * 
	 * @Title: insertBySelective
	 * @param gt
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月23日
	 */
	int insertBySelective(CrShopGoods gt) throws Exception;

	/**
	 * <b>Description:<blockquote> 修改商品
	 * </blockquote></b>
	 * 
	 * @Title: updateBySelective
	 * @param go
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月23日
	 */
	int updateBySelective(CrShopGoods go) throws Exception;


	/**
	 * <b>Description:<blockquote>
	 * </blockquote></b>
	 * 
	 * @Title: selectGoodsCountByTypeId
	 * @param gt
	 * @return
	 * @author Ran_cc
	 * @date 2018年10月23日
	 */
	List<Map<String , Object>> selectGoodsCountByTypeId(CrShopGoodsType gt);

	/**
	 * <b>Description:<blockquote>
	 * </blockquote></b>
	 * 
	 * @Title: selectSpecListBySelective
	 * @param se
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月25日
	 */
	List<CrShopGoodsSpec> selectSpecListBySelective(CrShopGoodsSpec se) throws Exception;

	/**
	 * <b>Description:<blockquote>
	 * </blockquote></b>
	 * 
	 * @Title: updateSpecBySelective
	 * @param se
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月25日
	 */
	void updateSpecBySelective(CrShopGoodsSpec se) throws Exception;

	/**
	 * <b>Description:<blockquote>
	 * </blockquote></b>
	 * 
	 * @Title: updateByPrimaryKeySelectiveByGoodsId
	 * @param se
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月25日
	 */
	void updateByPrimaryKeySelectiveByGoodsId(CrShopGoodsSpec se) throws Exception;

	/**
	 * <b>Description:<blockquote>
	 * </blockquote></b>
	 * 
	 * @Title: insertSpecBySelective
	 * @param se
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月25日
	 */
	void insertSpecBySelective(CrShopGoodsSpec se) throws Exception;

	/**
	 * <b>Description:<blockquote>
	 * </blockquote></b>
	 * 
	 * @Title: selectwxListBySelective
	 * @param go
	 * @return
	 * @author Ran_cc
	 * @date 2018年11月10日
	 */
	List<CrShopGoods> selectwxListBySelective(CrShopGoods go) throws Exception;

	/**
	 * <b>Description:<blockquote> 添加商品并添加规格
	 * </blockquote></b>
	 * 
	 * @Title: insertGoodsAndSpecBySelective
	 * @param gt
	 * @param seList
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年11月11日
	 */
	int insertGoodsAndSpecBySelective(CrShopGoods gt , List<CrShopGoodsSpec> seList) throws Exception;

}
